home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
FM Towns: Free Software Collection 8
/
FM Towns Free Software Collection 8.iso
/
t_os
/
artemis
/
artsrc2
/
math2.h
< prev
next >
Wrap
Text File
|
1994-06-01
|
791b
|
23 lines
/*
* math.h の補助 ver 0.3
*/
#define sign( a ) ( ( (a)>0 ) ? (1) : ( ((a)<0)?(-1):(0) ) )
#define max( a, b ) ( ( (a) > (b) ) ? (a) : (b) )
#define min( a, b ) ( ( (a) < (b) ) ? (a) : (b) )
#undef ads
// #define abs( a ) ( ( (a) > 0 ) ? (a) : (-(a)) )
#define DECIMAL 10 /* これは下位の 10bit shift の意味。 したがって本当の単位は 2^10。 整数部 2^22。 */
#define DUNIT 1024 /* = 2^10 */
/* 整数固定少数変換 */
#define IntToDeci( i ) ( (i) << DECIMAL )
#define DeciToInt( d ) ( (d) >> DECIMAL )
/* 固定少数の演算の補正 Macro。 (まとてやったほうが速いから別にしておく) */
#define AdjMulDeci( d ) ( (d) >> DECIMAL )
#define AdjDivDeci( d ) ( (d) << DECIMAL )
#define MulDeci( a, b ) ( (a)*(b) >> DECIMAL )
#define DivDeci( a, b ) ( ((a) << DECIMAL) /(b) )